Chod hore
Predchádzajúca stránka Nasledujúca stránka Začiatok kapitoly Koniec kapitoly Začiatok kurzu Koniec kurzu


14. POLIA


V tejto časti sa oboznámime s pojmom polí. Poznáme jednorozmerné a viacrozmerné polia. Pole je vlastne skupina premenných rovnakého typu, kde jednotlivé prvky rozlišujeme podľa ich poradového čísla - indexu. Majú rovnaký identifikátor a počet prvkov musí byť vopred známym. V pamäti zaberajú súvislú časť.



14.1 Jednorozmerné pole


Deklarácia jednorozmerného poľa:

IdentifikátorPoľa : Array[TypIndexu] Of TypPremenných


TypIndexu musí byť ordinárneho typu.

Const 
 Max = 100 ;
Type 
 TVaha = Array [1..Max] Of Real ;
Var 
 Vaha : TVaha ;
 VahaOs : Array [1..Max] Of Real ;
 Pocet : Array ['A'..'E'] Of Byte ;


Hoci premenné Vaha a VahaOs sú definované v skutočnosti rovnako, ale Turbo Pascal ich chápe ako rôzne typy!

Pravidlá:

  • Pole má pevný počet prvkov.
  • Typy všetkých prvkov poľa sú rovnaké.
  • TypIndexu môže byť iba ordinárneho typu.
  • Pre každú hodnotu indexu existuje prvok poľa.
  • Počet prvkov poľa určuje početnosť TypIndexu.
  • Index je výraz typu TypIndexu.
  • Každý prvok poľa sa priamo dosiahnuť pomocou indexu.


Pred odvolaním sa na prvok poľa vždy overme, či existuje taký prvok, t.j. musíme overiť či sme neprekročili hranicu indexu. Túto kontrolu môžeme vypnúť.



14.2 Pole s počiatočnou hodnotou


Určiť hodnoty prvkov poľa môžeme nie len pomocou priradenia ale aj pomocou Const:

Const 
 IdentifikátorPoľa : TypPoľa = (Prvok, Prvok, ... , Prvok) ;
  
Const 
 Mena : Array [1..4] Of String[15] = ('Eva','Jano','Iva','Palo','Ema') ;
 PoctySt : Array['A'..'E'] Of Byte = (23,15,25,18,20) ;
 Pismena : Array[1..5] Of Char = ('A','B','C','D','E') ;



14.3 Viazrozmerné polia


TypPremenných môže byť tiež pole:

Var  
 Pole :Array[TypIndexu1] Of
  Array[TypIndexu2] Of TypPrvku

jednoduchšie:
Var  
 Pole :Array[TypIndexu1,TypIndexu2] Of TypPrvku ;


atď aj pre ešte viac rozmerov.

Odkaz na prvky poľa je IdentifikátorPoľa[Index], IdentifikátorPoľa[Index1,Index2], atď.